#define _CRT_SECURE_NO_WARNINGS 1
#include <iostream>

using namespace std;

//inline int Add(int left, int right)
//{
//	return left + right;
//}
//
//int main()
//{
//	int ret = 0;
//	ret = Add(1, 2);
//	return 0;
//}

//#include "func.h"
//
//int main()
//{
//	f(10);
//	return 0;
//}


//int test()
//{
//	return 10;
//}
//int main()
//{
//	int a = 10;
//	auto b = a;
//	auto c = 'a';
//	auto d = test();
//	cout << typeid(b).name() << endl;
//	cout << typeid(c).name() << endl;
//	cout << typeid(d).name() << endl;
//	return 0;
//}

//int main()
//{
//	int x = 10;
//	auto a = &x;
//	auto* b = &x;
//	auto& c = x;
//	cout << typeid(a).name() << endl;
//	cout << typeid(b).name() << endl;
//	cout << typeid(c).name() << endl;
//	return 0;
//}

//int main()
//{
//	int a[] = { 1,2,3,4,5 };
//	for (auto& e : a)
//	{
//		e *= 2;
//		cout << e << " ";
//	}
//	return 0;
//}

void f(int)
{
	cout << "void f(int)" << endl;
}

void f(int*)
{
	cout << "void f(int*)" << endl;
}

int main()
{
	f(0);
	f(NULL);
}